This specification describes systems and processes for querying a database, in general, and for enhancing query plans, in particular.
A query language may include one or more operations for accessing and managing data in a relational database. A user may implement a query plan using the query language to find and access data in the database. For example, the database may be stored on a server and the user may access the server from a client device by way of a network. The user may create the query plan in the query language on the client device. The user may send the query plan to the server in order to access and manage the database.
The query plan allows the user to describe the desired data they would like to access from the database in the form of a database query. A database manager, running on the server, may control the creation, maintenance and use of the database. The database management system may plan, optimize and perform the operations needed to produce the desired data from the database as requested by the database query. The server may then provide the data to the user on the client device by way of the network.